package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.CompanyProfileMapper;
import com.ruoyi.system.domain.CompanyProfile;
import com.ruoyi.system.service.ICompanyProfileService;

/**
 * 公司简介Service业务层处理
 *
 * @author ruoyi
 * @date 2023-09-08
 */
@Service
public class CompanyProfileServiceImpl implements ICompanyProfileService
{
    @Autowired
    private CompanyProfileMapper companyProfileMapper;

    /**
     * 查询公司简介
     *
     * @param id 公司简介主键
     * @return 公司简介
     */
    @Override
    public CompanyProfile selectCompanyProfileById(Long id)
    {
        return companyProfileMapper.selectCompanyProfileById(id);
    }

    /**
     * 查询公司简介列表
     *
     * @param companyProfile 公司简介
     * @return 公司简介
     */
    @Override
    public List<CompanyProfile> selectCompanyProfileList(CompanyProfile companyProfile)
    {
        return companyProfileMapper.selectCompanyProfileList(companyProfile);
    }

    /**
     * 新增公司简介
     *
     * @param companyProfile 公司简介
     * @return 结果
     */
    @Override
    public int insertCompanyProfile(CompanyProfile companyProfile)
    {
        companyProfile.setCreateTime(DateUtils.getNowDate());
        return companyProfileMapper.insertCompanyProfile(companyProfile);
    }

    /**
     * 修改公司简介
     *
     * @param companyProfile 公司简介
     * @return 结果
     */
    @Override
    public int updateCompanyProfile(CompanyProfile companyProfile)
    {
        companyProfile.setUpdateTime(DateUtils.getNowDate());
        return companyProfileMapper.updateCompanyProfile(companyProfile);
    }

    /**
     * 批量删除公司简介
     *
     * @param ids 需要删除的公司简介主键
     * @return 结果
     */
    @Override
    public int deleteCompanyProfileByIds(Long[] ids)
    {
        return companyProfileMapper.deleteCompanyProfileByIds(ids);
    }

    /**
     * 删除公司简介信息
     *
     * @param id 公司简介主键
     * @return 结果
     */
    @Override
    public int deleteCompanyProfileById(Long id)
    {
        return companyProfileMapper.deleteCompanyProfileById(id);
    }

    @Override
    public int updateStatus(CompanyProfile companyProfile) {
        /*
            根据当前状态判断
            1、如果当前状态是已发布，则其他的都是未发布
         */
        String status = companyProfile.getStatus();
        Long id = companyProfile.getId();
        if(StringUtils.isNotEmpty(status) && status.equals("1")){ //已发布
            companyProfileMapper.updateAllStuatus();
            return companyProfileMapper.updateStatus(id,status);
        }else if(StringUtils.isNotEmpty(status) && status.equals("0")){
            return companyProfileMapper.updateStatus(id,status);
        }
        return 0;
    }
}
